package com.org.dao.dev;

import com.org.entity.dev.DevTableColumn;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DevDataBackupMapper {

    /**
     * 备份数据
     *
     * @param fromTable
     * @param toTable
     * @param timeColumn
     * @param startTime
     * @param endTime
     * @param columns
     * @return
     */
    int dataBackup(@Param("fromTable") String fromTable,
                   @Param("toTable") String toTable,
                   @Param("timeColumn") String timeColumn,
                   @Param("startTime") String startTime,
                   @Param("endTime") String endTime,
                   @Param("columns") List<DevTableColumn> columns);

    /**
     * 查找数据源表是否有数据
     *
     * @param fromTable
     * @param timeColumn
     * @param startTime
     * @param endTime
     * @return
     */
    int fromTableNeedBackupData(@Param("fromTable") String fromTable,
                                @Param("timeColumn") String timeColumn,
                                @Param("startTime") String startTime,
                                @Param("endTime") String endTime);

    /**
     * 删除数据来源表数据
     *
     * @param fromTable
     * @param timeColumn
     * @param startTime
     * @param endTime
     * @return
     */
    int deleteFromTableData(@Param("fromTable") String fromTable,
                            @Param("timeColumn") String timeColumn,
                            @Param("startTime") String startTime,
                            @Param("endTime") String endTime);

}
